package com.common.code.mapper;
/**
 * @Mapper的作用:
 *  为了其它类引用
 *  不用配置映射文件了
 *  自动生成一个接口的实现类
 *
 * @MapperScan的作用;
 * 每个接口都要配置@Mapper太麻烦了，所以@MapperScan就诞生了
 * 在application启动类配置@MapperScan就不用配置@Mapper了
 *
 * 不用配置映射文件： 意味着不需要mapper.xml了， 用@Select("")等写sql代码就可以了
 *
 * 自动生成一个接口实现类： 意味着不需要service包了,就剩下@MapperScan 、mapper包下的接口 、
 * controller包的类、代码生成配置.xml、pom.xml 就构成了项目
 *
 */

import com.common.code.entity.User;
import org.apache.ibatis.annotations.Select;

import java.util.List;
//当在application启动类中配置了@MapperScan就不用在配置@Mapper了
//@Mapper
public interface UserMapper {
    int deleteByPrimaryKey(Integer id);

    int insert(User record);

    int insertSelective(User record);

    User selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(User record);

    int updateByPrimaryKey(User record);

    //有了@Select()，就可以删除mapper.xml，测试使用可用
    @Select("select * from user")
    List<User> selectAll();

    @Select("select * from user where id = #{id}")
    Boolean selectUser(Integer id);
}